import requests
from bs4 import BeautifulSoup
import csv

url = 'https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action='
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36"
}
res = requests.get(url,headers=headers)


# 解析数据
# 把页面源代码交给BeautifulSoup进行处理，生成bs对象
page = BeautifulSoup(res.text,"html.parser")  # 指定HTML解析器

'''
从bs对象中查找数据
1、find(标签名 属性=“属性值”) 默认查找第一个
2、findall(标签名 属性=“属性值”) 找所有的
'''

# tr为行 td为列

# table = page.find("table",class_="types") # class是python关键字，需要在后面加个下划线
table = page.find("table",attrs={"class":"types"}) # 与上面一样，只是不同写法

f = open("菜价.csv",'w')
csvwriter = csv.writer(f)

# 拿到所有数据
trs = table.find_all("tr")[1:]
for tr in trs:  # 拿到每一行内容
    tds = tr.find_all('td')  # 拿到每行中的所有td
    low = tds[0].text  # .text 表示拿到被标签标记的内容
    avg = tds[1].text
    high = tds[2].text
    kind = tds[3].text
    date = tds[4].text
    csvwriter.writerow([low,avg,high,kind,date])

res.close()
print('over!')



